Android Studio 对现代 WorkManager 的支持
在上一篇文章中,我们提到了现代 WorkManager API 对工具支持方面也进行了改进,本文我们将结合实际案例来看看具体有哪些改进。如果您更喜欢通过视频了解此内容,请在此处查看:
△ Android Studio 对现代 WorkManager 的支持
Bilibili 视频链接
https://www.bilibili.com/video/BV1tS4y1F7Bc/
从 Android Studio Arctic Fox 开始,您可以直接在 Android Studio 内使用后台任务检查器检查和调试 Worker。
后台任务检查器是应用检查套件的一部分,它针对应用的几个方面提供更丰富详细的信息。为了充分利用检查器,您的应用需要使用 WorkManager 2.5 或更新的版本。
应用检查器启用方法
示例演示
本次演示使用了 Android Studio Bumblebee 和 GitHub 上公开的 WorkManager 示例。
https://github.com/android/architecture-components-samples/tree/master/WorkManagerSample
在 App Inspection 面板中切换到后台任务检查器 (Background Task Inspector) 标签,勾选应用中的 Filter,然后点击 Apply 按钮。可以看到在随着过滤的持续进行,每个 Worker 在其生命周期中的状态也在持续变化着。由于这些 Worker 按照顺序运行,所以 CleanupWorker 需要在下一个 Worker 开始之前完成。其他的所有 Worker 此时要么处于排队状态,要么处于阻塞状态。
现在 CleanupWorker 已经完成,队列中的其他 Worker 也将按照次序运行。
在顶部是一个基本的说明信息,包括可点击的类名和一个唯一 ID。
数据库检查器
后台任务检查器
这里为您展示当工作链中的某个 Worker 执行失败时的场景。在工作的接续队列中插入了一个出错的 Worker,然后重启应用。可以看到,上一次运行的结果仍然在这里供您检查。这也进一步印证了刚才说到的工作数据持久化特性。这里启动并应用过滤器,选择 Worker 后再次点击图表视图,这样就能迅速定位工作开始出错的位置 (您可以留意这里的感叹号)。您可以从这里点击直接进入 Worker 视图,然后继续调试出错的会话。
了解更多
WorkManager 系列文章: 使用 Dagger 自定义 WorkManager
WorkManager 文档: 使用 WorkManager 调度任务https://developer.android.google.cn/topic/libraries/architecture/workmanager Codelab: 使用 WorkManager 处理后台任务
https://developer.android.google.cn/codelabs/android-workmanager Codelab: WorkManager 进阶知识 https://developer.android.google.cn/codelabs/android-adv-workmanager WorkManager 示例代码
https://github.com/android/architecture-components-samples/tree/main/WorkManagerSample
推荐阅读